/**
 * @param {number} num
 * @param {number} xPos
 * @param {number} yPos
 * @return {number}
 */
 var orchestraLayout = function(num, xPos, yPos) {
  const layer = Math.min(xPos, yPos, num - xPos - 1, num - yPos - 1);
  let inner = num - 2 * layer;
  let c = 0;
  let total = 0n;
  total += BigInt((4 * num - 4 * layer)) * BigInt(layer);
  total %= 9n;
  total = Number(total);
  if(inner === 1) {
      return (total + 1) % 9 || 9;
  }
  if(xPos === layer) {
      total += yPos - layer + 1;
  } else if (yPos + layer + 1 === num) {
      total += inner + xPos - layer; 
  } else if (xPos + layer + 1 === num) {
      total += inner * 2 - 1 + num - layer - yPos - 1;
  } else {
      total += inner * 3 - 2 + num - layer - xPos - 1;
  }
  return total % 9 || 9 ;
};